#pragma once
#include "ridefactory.h"
#include "sgptr.h"
#include "SgRotateAroundPoint.h"
#include "SgSeparator.h"

class GravitronFactory :
	public RideFactory
{
public:
	GravitronFactory(void);
	~GravitronFactory(void);
	virtual CSgObject* Create(void);
	virtual void AdvanceTime(const DWORD &, const DWORD &);

	CTexture * topTex;
	CTexture * botTex;
	CTexture * baseTex;
	CTexture * rimTex;

private:
	CSgPtr<CSgComposite> m_Gravitron;
	CSgPtr<CSgComposite> m_Disc; 

	void CreateBase(void);
	void CreateTop(void);
	void CreateBottom(void);
	void CreateRim(void);

	int m_wheelRotateDegrees;
	int m_timeElapsed;
	int m_waitTime; 

	CSgPtr<CSgRotateAroundPoint> m_RotationPoint;
};
